Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour ASB Classic - Auckland Perugia Challenger Cincinnati Open - Cincinnati Helsinki Challenger Lisbon Challenger Spain F32 Spain F6 Spain F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Spain F29 Spain F31 Spain F38 Spain F39 Spain F41 Spain F1 Spain F2 Spain F4 Spain F6 Croatia F5 Italy F3 Italy F5 Spain F10 Spain F11 Spain F12 Spain F14 Poland F3 Italy F13 France F13 Czech Republic F5 Spain F22 Croatia F7 Poland F5 Spain F26 Spain F27 Serbia F13 Spain F30 Spain F32 Morocco F6 Morocco F7 Morocco F9 Turkey F3 Spain F2 Croatia F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Spain F19 Egypt F15 Egypt F16 Serbia F7 Italy F22 Croatia F8 Serbia F13 Spain F32 Spain F33 Spain F34 Spain F36 Spain F38 Egypt F3 Turkey F1 Spain F1 Turkey F2 Turkey F3 Spain F3 Spain F4 Egypt F9 Italy F7 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bulgaria F2 Bulgaria F3 Bulgaria F4 Austria F6 Serbia F14 Spain F29 Spain F30 Czech Republic F5 Turkey F44 Turkey F45 Turkey F46 Egypt F1 Egypt F2 Egypt F3 Turkey F7 Egypt F12 Egypt F13 Turkey F16 Turkey F17 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F3 Serbia F4 Serbia F6 Serbia F7 Serbia F8 Serbia F10 Croatia F14 Croatia F15 Croatia F17 Greece F8 Tunisia F32 Tunisia F33 Turkey F2 Turkey F3 Turkey F10 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Macedonia F1 Serbia F1 Serbia F2 Serbia F4 Serbia F5 Serbia F6 Croatia F9 Croatia F10 Croatia F11 Bulgaria F6 Turkey F47 Tunisia F2 (Hammamet) Tunisia F6 (Hammamet) Turkey F9 (Antalya) Turkey F10 (Antalya) Turkey F11 (Antalya) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) Turkey F18 (Antalya) Czech Republic F1 (Prague) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Georgia F1 (Telavi) Georgia F2 (Telavi) Georgia F3 (Telavi) Serbia F1 (Novi Sad) Serbia F2 (Novi Sad) Turkey F36 (Antalya) Turkey F37 (Antalya) Turkey F38 (Antalya) Turkey F39 (Antalya) Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) Turkey F15 (Antalya) Turkey F16 (Antalya) Bosnia & Herzegovina F1 (Doboj) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Egypt F10 Germany F4 (Kaltenkirchen) Austria F2 (Kramsach) Austria F3 (Wels) Italy F20 (Pontedera) Austria F5 (Vogau) Italy F32 (Santa Margherita Di Pula) Serbia F7 Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Turkey F36 (Antalya) Turkey F39 (Antalya) Czech Republic F4 Turkey F40 (Antalya) M15 Antalya M15 Antalya M15 Opatija M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Prijedor M25 Doboj M25 Kiseljak M15 Belgrade M25+H Kassel M15 Piombino M15 Zlatibor M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula Italy F6 M25 Santa Margherita Di Pula M25 Monastir Austria F7 M25 Trento M15 Porec M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Prijedor Egypt F14 Croatia F11 Austria F8 M25 Antalya M25 Antalya Egypt F11 Croatia F16 Croatia F9 Greece F7 Greece F9 Spain F31 M25 Santa Margherita di Pula Spain F5 M25 Antalya M15 Antalya M25 Antalya M15 Dubrovnik Serbia F14 Croatia F10 M15 Antalya M15 Porec Sarajevo Challenger M25 Santa Margherita di Pula M25 Zlatibor M15 Bol Turkey F7 M25 Antalya Sarajevo Challenger Tanger Challenger Scheveningen Challenger Poznan Challenger Orbetello Challenger Segovia Challenger Cordenons Challenger Como Challenger Brasov Challenger Banja Luka Challenger Bordeaux Challenger Vicenza Challenger Furth Challenger Marburg Challenger San Benedetto Challenger Liberec Challenger Seville Challenger Kenitra Challenger Guayaquil Challenger Lima Challenger Casablanca Challenger Guangzhou Challenger Bordeaux Challenger Perugia Challenger Prague Challenger Cordenons Challenger Rome Challenger M25 Antalya Buenos Aires Challenger Santo Domingo Challenger Barletta Challenger Bastad Challenger Madrid Challenger Noumea Challenger Turkey F11 Ostrava Challenger Bucaramanga Challenger Lisbon Challenger San Benedetto Challenger Cortina Challenger Biella Challenger Cortina Challenger Manerbio Challenger Serbia F9 Seville Challenger Banja Luka Challenger Cali Challenger Santo Domingo Challenger Lima Challenger Caltanissetta Challenger Prostejov Challenger Como Challenger Braunschweig Challenger Barcelona Challenger Poznan Challenger Guadalajara Challenger Bendigo Challenger Parma Challenger Meknes Challenger Luedenscheid Challenger Verona Challenger Seville Challenger Barletta Challenger Zagreb Challenger Tunis Challenger Vicenza Challenger Perugia Challenger Fano Challenger Seville Challenger Zagreb Challenger Seville Challenger San Benedetto Challenger San Marino Challenger Meknes Challenger Sophia Antipolis Challenger Mohammedia Challenger Guayaquil Challenger Buenos Aires Challenger Florence Challenger Napoli Challenger Cordenons Challenger Lisbon Challenger Bordeaux Challenger Lyon Challenger Perugia Challenger Todi Challenger Vicenza Challenger Meerbusch Challenger Turkey F8 Como Challenger Genova Challenger Cordenons Challenger Meknes Challenger Vicenza Challenger Casablanca Challenger M15 Porec Mauthausen Challenger Serbia F3 (Subotica) Szczecin Challenger Bordeaux Challenger Orleans Challenger Poprad Tatry Challenger Bastad Challenger Rome Challenger Guayaquil Challenger Montevideo Challenger Cordenons Challenger Antalya 4 Challenger Sanremo Challenger Alicante Challenger Parma Challenger Ismaning Challenger L'Aquila Challenger Vilnus Challenger Valencia Challenger Biella Challenger Brest Challenger Canberra Challenger Shanghai Challenger Salzburg Challenger Phoenix Challenger Alicante Challenger Murcia Challenger Szekesfehervar Challenger Liberec Challenger Brasov Challenger Pozoblanco Challenger Genova Challenger Szczecin Challenger Barcelona Challenger Verona Challenger Milan Challenger Salzburg-Anif Challenger Gran Canaria Challenger Meerbusch Challenger Ambato Challenger Bergamo Challenger Ortisei Challenger Forli 2 Challenger Forli 3 Challenger Zadar Challenger Marbella Challenger Madrid Challenger Forli 6 Challenger Oeiras 3 Challenger Trieste Challenger Banja Luka Challenger Seville Challenger Ortisei Challenger Maia Challenger Milan Challenger Phoenix Challenger Prague 2 Challenger Perugia Challenger Mohammedia Challenger San Marino Challenger Como Challenger Bad Waltersdorf Challenger Sibiu Challenger Canberra Challenger Rome Challenger Braunschweig Challenger Mauthausen Challenger Skopje Challenger Braunschweig Challenger Zug Challenger San Marino Challenger Brest Challenger Sofia 1 Challenger Seville Challenger Aix En Provence Challenger Marbella Challenger Guayaquil Challenger Split 1 Challenger Szczecin Challenger Murcia Challenger Santiago Challenger Losinj Challenger Antalya 3 Challenger Shenzhen Challenger Manerbio Challenger Vicenza Challenger Kenitra Challenger Banja Luka Challenger Marbella Challenger Bordeaux Challenger Padova Challenger Ortisei Challenger Zadar Challenger Montechiarugolo - Parma Challenger Napoli Challenger Marbella Challenger Salzburg Challenger Sarajevo Challenger Rome Challenger Grand Prix Hassan II - Casablanca Ecuador Open - Quito Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Casablanca Challenger Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Turin Challenger Winston-Salem Open - Winston-Salem Verona Challenger Fever-Tree Championships - London Turkish Airlines Open Antalya - Antalya Argentina Open - Buenos Aires Forte Village Sardegna Open - Sardinia Millennium Estoril Open - Estoril European Open - Antwerp Erste Bank Open - Vienna Anytech365 Andalucia Open - Marbella Belgrade 2 - Belgrade Adelaide International 2 - Adelaide Prague Challenger Cordoba Open - Cordoba Alphen Challenger Prague Challenger Plava Laguna Croatia Open - Umag Firenze Open - Florence Tata Open Maharashtra - Pune Banja Luka Open - Banja Luka Gonet Geneva Open - Geneva Split Challenger Astana Open - Astana Shenzhen Challenger Sofia Open - Sofia Cordenons Challenger Barcelona Open Banc Sabadell - Barcelona Grand Prix Hassan II - Marrakech EFG Swiss Open - Gstaad Casablanca Challenger Mendoza Challenger Grand Prix Hassan II - Casablanca Lisbon Challenger Barcelona Open BancSabadell - Barcelona Furth Challenger Chile Dove Men+Care Open - Santiago Szczecin Challenger Rio De Janeiro Challenger Kenitra Challenger Portugal Open - Oeiras Prostejov Challenger Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Open Parc - Lyon Manama Challenger Sibiu Challenger M25 Santa Margherita di Pula Antalya Cup - Antalya European Open - Antwerp Santiago Challenger Rio De Janeiro Challenger Seville Challenger Ecuador Open - Quito Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Mohammedia Challenger Todi Challenger Oberstaufen Challenger Kremlin Cup - Moscow SkiStar Swedish Open - Bastad Mersin Challenger Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Mestre Challenger Ecuador Open - Quito Grand Prix Hassan II - Marrakech SkiStar Swedish Open - Bastad Helsinki Challenger Brescia Challenger Bergamo Challenger Argentina Open - Buenos Aires Tata Open Maharashtra - Pune Cordoba Open - Cordoba Rome Challenger Lima Challenger Campinas Challenger Rio Open - Rio de Janeiro Modena Challenger Brasil Open - Sao Paulo Santiago Challenger Barcelona Open Banc Sabadell - Barcelona Zadar Challenger Marbella Challenger Rio Open - Rio de Janeiro Belgrade Challenger Aix En Provence Challenger Forli Challenger Swiss Open - Gstaad Perugia Challenger Iasi Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Lyon Challenger St. Petersburg Open - St. Petersburg Seville Challenger Plava Laguna Croatia Open - Umag Bad Waltersdorf Challenger ASB Classic - Auckland Cordoba Open - Cordoba Amersfoort Challenger San Benedetto Challenger Santo Domingo Challenger Serbia Open - Belgrade Como Challenger Mallorca Championships - Mallorca Nordea Open - Bastad Plava Laguna Croatia Open - Umag Zadar Challenger Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Skopje Challenger Zagreb Challenger Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Swiss Open - Gstaad Tennis Napoli Open - Naples Malaga Challenger Cordoba Open - Cordoba Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Terra Wortmann Open - Halle European Open - Antwerp Barcelona Open Banc Sabadell - Barcelona Plava Laguna Croatia Open - Umag Argentina Open - Buenos Aires Braga Challenger Ismaning Challenger Movistar Chile Open - Santiago Olbia Challenger Grand Prix Hassan II - Marrakech Maspalomas Challenger Gonet Geneva Open - Geneva Nordea Open - Bastad EFG Swiss Open - Gstaad Barletta Challenger Citi Open - Washington Moselle Open - Metz Perugia Challenger San Marino Challenger Argentina Open - Buenos Aires Argentina Open - Buenos Aires Argentina Open - Buenos Aires Argentina Open - Buenos Aires Naples Challenger Antalya Challenger Noumea Challenger Argentina Open - Buenos Aires Karlsruhe Challenger BMW Open - Munich St. Petersburg 1 Challenger Generali Open - Kitzbuhel Braga Challenger Trieste Challenger Hong Kong Tennis Open - Hong Kong Banja Luka Challenger Forli 1 Challenger Phoenix Challenger Zadar Challenger Split Challenger Valencia Challenger Iasi Challenger Sibiu Challenger Swiss Open - Gstaad Split Challenger Santiago Open - Santiago Mallorca Championships - Mallorca Cordoba Open - Cordoba Mutua Madrid Open - Madrid Miami Open - Miami Rio Open - Rio de Janeiro Rolex Paris Masters - Paris Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid EFG Swiss Open - Gstaad Generali Open - Kitzbuhel Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Rolex Paris Masters - Paris BMW Open - Munich Rio Open - Rio de Janeiro BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Great Ocean Road Open - Melbourne BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Adelaide International 1 - Adelaide Mallorca Championships - Mallorca Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris Hangzhou Open - Hangzhou China Open - Beijing BNP Paribas Open - Indian Wells French Open - Paris Dallas Open - Dallas Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells National Bank Open - Montreal Abierto Mexicano Telcel - Acapulco Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris Mutua Madrid Open - Madrid Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid National Bank Open - Toronto Banja Luka Challenger Maharashtra Open - Pune Open Sabadell Atlantico - Barcelona Generali Open - Kitzbuhel Sofia Open - Sofia French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London French Open - Paris French Open - Paris French Open - Paris Australian Open - Melbourne Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, 1R, BIH-MEX 3-1 Villena Challenger Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group, Q, SUI-ESP 1-3 M25 Santa Margherita di Pula French Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, BIH-GER 0-4 Australian Open (juniors) Olympics - Tokyo Manama Challenger U.S. Open - New York Miami Open - Miami Wimbledon - London BNP Paribas Open - Indian Wells